3
תגובות

Layout ב Yii

פתח LearningYii ,
שלום...

אני מנסה לתכנת את הפרויקט הראשון שלי עם Yii ונתקלתי בבעיה.
ונגיד יש לי קונטרולר Main שה-actionIndex שם הוא:
$this->renderText('Hello ');
$this->renderText('World!');


אז מה שקורה באתר זה:
~Header~
Hello
~Footer~
~Header~
World!
~Footer~

זה מציג את התבנית של האתר לכל רינדור.
יש דרך שהכל ביחד פשוט יוצג פעם אחת? זאת אומרת:
~Header~
Hello World!
~Footer~

3 תשובות

avatar ענה intval ב 16 למרץ 2014 #

הפונקציה renderText לוקחת את הטקסט, מכניסה אותה לתבנית הכללית של האתר ומציגה.
קריאה לפונקציה פעמיים עושה את זה פעמיים.
הפתרון - לקרוא לפונקציה פעם אחת או בכלל לא.

$text = 'hello world';
$this->renderText($text);

avatar ענה LearningYii ב 18 למרץ 2014 #

אז צריך לקרוא לפונקציית renderSomething רק פעם אחת?
אין אפשרות אחרת שזה יחבר את כל הקריאות renders יחד?

avatar ענה intval ב 18 למרץ 2014 #

בדרך כלל אין שום סיבה לעשות את זה.
לרוב יש לך view כלשהו, אתה מציב תוכן בו ומרנדר אותו פעם אחת.